﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using BUS;
using DAL;
namespace QuanLyNhaSach
{
    public partial class Form_Them_CapNhat_NhanVien : DevComponents.DotNetBar.Office2007Form
    {
        public delegate void ThemMoi();
        public delegate void CapNhat();

        public event ThemMoi KhiThemMoi = null;
        public event CapNhat KhiCapNhat = null;

        public string Action = "";
        public string ID = null;

        NhanVien_BUS nhanvien_bus;
        NhanVien_DTO nhanvien_dto;

        LoaiNhanVien_BUS loainhanvien_bus;
        LoaiNhanVien_DTO loainhanvien_dto;
        public Form_Them_CapNhat_NhanVien()
        {            
            InitializeComponent();
        }
        private void Form_Them_CapNhat_NhanVien_Load(object sender, EventArgs e)
        {
            nhanvien_bus = new NhanVien_BUS();
            loainhanvien_bus = new LoaiNhanVien_BUS();
            SetBounds(Screen.GetWorkingArea(this).Width / 4, Screen.GetWorkingArea(this).Height / 4, Width, Height);

            cbxLoaiNV.DataSource = loainhanvien_bus.LayDanhSachLoaiNhanVien();
            cbxLoaiNV.DisplayMember = "Str_TenLoaiNV";
            cbxLoaiNV.ValueMember = "Str_MaLoaiNV";

            cbxGioiTinh.SelectedIndex = 0;

            if (Action.Equals("Insert"))
            {
                nhanvien_bus = new NhanVien_BUS();
                txtMaNhanVien.Text = nhanvien_bus.MaNhanVienTang().ToString();
            }
            if (Action.Equals("Update"))
            {
                nhanvien_bus = new NhanVien_BUS();
                nhanvien_dto = nhanvien_bus.DanhSachNhanVien_TheoMaNhanVien(ID);
                txtMaNhanVien.Text = nhanvien_dto.Str_MaNV;
                txtTenNhanVien.Text = nhanvien_dto.Str_HoTen;

                dateTimeNgaySinh.Value = nhanvien_dto.D_NgaySinh;
                txtDiaChi.Text = nhanvien_dto.Str_DiaChi;
                txtDienThoai.Text = nhanvien_dto.Str_DienThoai;
                txtEmail.Text = nhanvien_dto.Str_Email;
                txtCMND.Text = nhanvien_dto.Str_CMND;
                if (nhanvien_dto.Str_MaNV.ToString() == '1'.ToString())
                    cbxGioiTinh.Text = "Nam";
                else
                    cbxGioiTinh.Text = "Nữ";
                cbxLoaiNV.SelectedValue = nhanvien_dto.Str_MaLoaiNhanVien;
                txtTenDangNhap.Text = nhanvien_dto.Str_TenDangNhap;
                txtMatKhau.Text = nhanvien_dto.Str_MatKhau;
            }
        }

        private void btnLuu_Click(object sender, EventArgs e)
        {            
            nhanvien_dto = new NhanVien_DTO();
            nhanvien_bus = new NhanVien_BUS();
            nhanvien_dto.Str_MaNV = txtMaNhanVien.Text;
            nhanvien_dto.Str_HoTen = txtTenNhanVien.Text;
            nhanvien_dto.D_NgaySinh = dateTimeNgaySinh.Value;
            nhanvien_dto.Str_DiaChi = txtDiaChi.Text;
            nhanvien_dto.Str_DienThoai = txtDienThoai.Text;
            nhanvien_dto.Str_Email = txtEmail.Text;
            nhanvien_dto.Str_CMND = txtCMND.Text;
            nhanvien_dto.I_GioiTinh = cbxGioiTinh.SelectedIndex;
            nhanvien_dto.Str_TenDangNhap = txtTenDangNhap.Text;
            nhanvien_dto.Str_MatKhau = txtMatKhau.Text;
            nhanvien_dto.Str_MaLoaiNhanVien = cbxLoaiNV.SelectedValue.ToString();
            nhanvien_dto.I_TrangThai = 0;                
            if (Action.Equals("Insert"))
            {
                if (nhanvien_bus.ThemNhanVien(nhanvien_dto) == 1)
                {
                    MessageBoxEx.Show("Thêm thành công", "Thông báo");
                    if (KhiThemMoi != null)
                    {
                        KhiThemMoi();
                        txtMaNhanVien.Text = nhanvien_bus.MaNhanVienTang();
                    }
                }
                else
                    MessageBoxEx.Show("Thêm thất bại", "Thông báo");
            }
            if (Action.Equals("Update"))
            {
                if (nhanvien_bus.CapNhatNhanVien(nhanvien_dto) == 1)
                {
                    MessageBoxEx.Show("Cập nhật thành côngg", "Thông báo");
                    if (KhiCapNhat != null)
                    {
                        KhiCapNhat();
                        this.Close();
                    }
                }
                else
                    MessageBoxEx.Show("Cập nhật thất bại", "Thông báo");
            }
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void cbxGioiTinh_SelectedIndexChanged(object sender, EventArgs e)
        {
        }

        private void cbxLoaiNV_SelectedIndexChanged(object sender, EventArgs e)
        {
            //MessageBoxEx.Show(cbxLoaiNV.SelectedItem.ToString());
        }
    }
}
